/**
 * if 语句
 * 
 * 非布尔条件
 * 在这种情况下，条件表达式将转换为布尔值：非零值将转换为布尔值true，零值将转换为布尔值false。
 * 
 * i 语句和提前返回
 * 不是函数中最后一条语句的 return 语句称为提前返回。这样的语句将导致函数在执行 return 语句时返回到调用者（在函数返回到调用者之前，因此“提前”）。
 * 
 */

#include <iostream>

int main()
{
    std::cout << "Enter an integer: ";
    int x {};
    std::cin >> x;

    bool zero { (x == 0) };
    if (zero)
        std::cout << "The value is zero\n";
    if (!zero)
        std::cout << "The value is non-zero\n";


    std::cout << "Enter an integer: ";
    int y {};
    std::cin >> y;

    if (y > 0)
        std::cout << "The value is positive\n";
    else if (y < 0)
        std::cout << "The value is negative\n";
    else
        std::cout << "The value is zero\n";

    // 这样的语句可以简化
    // if (condition)
    //     return true;
    // else
    //     return false;

    // return condition

    return 0;
}